Changing Sequencer Synchronization

To change the synchronization mode of a sequencer device, use the MCI_SETBO5DNC command message with the MCI_SEQ_SET_MASTER and MCI_SEQ_SET_SLAVE flags. Two members in the MCI_SEQ_SET_PARMS124CQRR structure, dwMaster and dwSlave, are used to specify the master and slave synchronization modes.

The master synchronization mode controls synchronization information sent by the sequencer to an output port. The slave synchronization mode controls where the sequencer gets its timing information to play a MIDI file. Following are the constants for the dwMaster member and their corresponding master synchronization modes.

Constant

Synchronization mode

MCI_SEQ_MIDI

MIDI Synchronization. Send timing information to output port using MIDI timing clock messages.

MCI_SEQ_SMPTE

SMPTE Synchronization. Send timing information to output port using MIDI quarter-frame messages.

MCI_SEQ_NONE

No Synchronization. Send no timing information.

 

Following are the constants for the dwSlave member and their corresponding slave synchronization modes.

Constant

Synchronization mode

MCI_SEQ_FILE

File Synchronization. Get timing information from MIDI file.

MCI_SEQ_MIDI

MIDI Synchronization. Get timing information from input port using MIDI timing clock messages.

MCI_SEQ_SMPTE

SMPTE Synchronization. Get timing information from input port using MIDI quarter-frame messages.

MCI_SEQ_NONE

No Synchronization. Get timing information from MCI commands only and ignore timing information (such as tempo changes) that are in the MIDI file.

 

 

Note  Currently, for master synchronization, the MCI MIDI sequencer supports only the No Synchronization mode (MCI_SEQ_NONE). For slave synchronization, it supports only the File Synchronization mode (MCI_SEQ_FILE) and the No Synchronization mode (MCI_SEQ_NONE).